//////////////////////////////////////////////////////////////////////////

#ifndef _SERVERINFOPACKETONSERVER_H_
#define _SERVERINFOPACKETONSERVER_H_

//////////////////////////////////////////////////////////////////////////

#ifndef _SERVERPACKETONSERVER_H_
#include "serverpacketonserver.h"
#endif

#ifndef _SERVERINFOPACKET_H_
#include "serverinfopacket.h"
#endif

//////////////////////////////////////////////////////////////////////////


/** Server information that is sent from server to client
*
*  @author   Roman Pasechnik
*  @since    Nov 11th, 2009
*  @updated  Nov 11th, 2009
*/
class ServerInfoPacketOnServer : public ServerPacketOnServer
{
//////////////////////////////////////////////////////////////////////////

public:

//////////////////////////////////////////////////////////////////////////


    /** Constructor */
    ServerInfoPacketOnServer( int _clientID,
                              const ServerInfoPacket& _serverStatePacket );


    /** Destructor */
    virtual ~ServerInfoPacketOnServer();


//////////////////////////////////////////////////////////////////////////


    /** Visit server network */
    virtual void VisitServerNetwork( ServerNetwork* _server ) const;


//////////////////////////////////////////////////////////////////////////

private:

//////////////////////////////////////////////////////////////////////////


    /** Server info packet */
    ServerInfoPacket m_ServerInfoPacket;


//////////////////////////////////////////////////////////////////////////
};


//////////////////////////////////////////////////////////////////////////

#endif

//////////////////////////////////////////////////////////////////////////
